第0週一開始是十分基礎的介紹,對於電腦的語言是怎麼來的,我們平常是如何和電腦溝通的,都用了淺顯易懂的例子來解釋,我自己邊看影片的過程中做了以下筆記:
講者:David J. Malan
課程最一開始就講解了電腦的基本組成就是:輸入 -> 輸出,然後解決問題,但中間留了一格方形空白,這個後面會講。
有聽過電腦是 0 與 1 組成的,但究竟是怎麼組成的呢?
講者用了燈泡的排列來講解 001 010 100 的排列代表什麼意思
000 為數字0
001 為數字1
010 為數字2
011 為數字3
100 為數字4
111 為數字7
最後可以得出每個數字計算的位置。
我聽完這段後,其實還是不太懂,但可以大概知道他的排列順序
接下來到了ACSII編碼,就會和熟悉的鍵盤有關,根據編碼表會知道每個按鍵所對應電腦的值是什麼:
例如 Hello 所對應的 ASCII編碼 就會是:
72 69 76 76 79
二進制時就會變成
0100 1000
0100 0101
0100 1100
0100 1100
0100 1111
如果文字可以藉由鍵盤轉換,那大家最常使用的表情符號呢?
課程提出下列的表情符號是什麼 4,036,991,106.
答案是:😂 Face with Tears of Joy
接著來到了顏色的顯示,在此之前,我其實不知道RGB的數值的意義,直到這時候才了解
原來 RGB(72,72,33)
所對應的是電腦的編碼,他也可以轉換成文字 HI!
而每一個像素都由RGB組成,每張圖片最終會變成RGB組成的值,比較常見的例如base64
這段在講解計算機概論和寫程式最主要的核心其實就是解決問題,這邊講者用找紙本電話簿的例子:
以前找商家時,我們會先去索引找對應的字母,然後再找對應字母的頁數,然後再去該頁找到商家電話
那現在的程式是如何在你輸入文字的一瞬間就找到了呢?
先找到對應的字母,那我在取得資料時就會過濾掉其他不需要的字母
然後找到對應的字母頁數,這樣又過濾掉了其他資料,最終在留下該商家的電話
其實這段就是將處理問題的過程敘事化後,然後拆解,寫程式就是不斷地在做這件事,而電腦會透過我們寫的程式去快速地執行,以達到我們想要的結果
這個是麻省理工學院的一個線上用積木學習如何寫程式的網站,後半段都在利用這個網站去執行一些簡單的結果和動作,還蠻有趣的,如果有空可以去玩玩看。
抽象化的概念用於自己在拆解事情和function,以及TDD的測試案例;聽完這段後,在寫程式時就會練習不急著要找到方法和馬上查出範例程式碼,而是一步一步想著要怎麽做
練習拆解問題以及步驟後,會發現真的完全理解是怎麼一回事,對工作上的幫助很大。
一邊上課一邊整理筆記一邊吸收消化真的是蠻累的,希望我可以堅持下去!